﻿package com.amcharts.axes
{
    import com.amcharts.chartClasses.*;
    import com.amcharts.geom.*;
    import com.amcharts.utils.*;
    import flash.display.*;
    import flash.events.*;
    import flash.text.*;
    import mx.core.*;

    public class RectangularAxisItemRenderer extends Object
    {
        private var _axis:AxisBase;
        private var _originalColor:Number;
        private var _width:Number = 0;
        private var _hCompensation:Number = 4;
        private var _valueTF:IUITextField;
        private var _grid:Line;
        private var _fullValue:String;
        private var _vCompensation:Number = 5;
        private var _tick:Line;

        public function RectangularAxisItemRenderer(param1:AxisBase, param2:Number, param3:String = "", param4:Boolean = true, param5:Number = NaN, param6:Number = NaN, param7:Guide = null, param8:Number = 0, param9:Number = NaN) : void
        {
            var _loc_46:Line = null;
            var _loc_47:Line = null;
            var _loc_48:Number = NaN;
            var _loc_49:Number = NaN;
            var _loc_50:Rect = null;
            var _loc_51:Boolean = false;
            var _loc_52:Number = NaN;
            var _loc_53:Number = NaN;
            var _loc_54:Rect = null;
            _axis = param1;
            var _loc_10:* = param1.createTextField();
            var _loc_11:* = param1.determineTextFormatFromStyles();
            var _loc_12:* = param1.getStyle("axisThickness");
            var _loc_13:* = param1.getStyle("axisColor");
            var _loc_14:* = param1.getStyle("axisAlpha");
            var _loc_15:* = param1.getStyle("tickLength");
            var _loc_16:* = param1.getStyle("gridAlpha");
            var _loc_17:* = param1.getStyle("gridThickness");
            var _loc_18:* = param1.getStyle("gridColor");
            var _loc_19:* = param1.getStyle("dashLength");
            var _loc_20:* = param1.getStyle("fillColor");
            var _loc_21:* = param1.getStyle("fillAlpha");
            var _loc_22:* = param1.getStyle("labelsEnabled");
            var _loc_23:* = param1.getStyle("labelRotation");
            var _loc_24:* = param1.getStyle("labelBackgroundColor");
            var _loc_25:* = param1.getStyle("labelBackgroundAlpha");
            var _loc_26:* = param1.counter;
            var _loc_27:* = param1.inside;
            var _loc_28:* = param1.dx;
            var _loc_29:* = param1.dy;
            var _loc_30:* = param1.grid;
            var _loc_31:* = param1.fills;
            var _loc_32:* = param1.ticks;
            var _loc_33:* = param1.values;
            var _loc_34:* = param1.orientation;
            var _loc_35:* = param1.position;
            var _loc_36:* = param1.previousCoord;
            var _loc_37:* = param1.rotate;
            var _loc_38:* = param1.maxLabelLength;
            var _loc_39:* = _loc_11.size as Number;
            if (param1 is CategoryAxis)
            {
            }
            if (_loc_23 == 0)
            {
                _loc_51 = CategoryAxis(param1).autoTruncate;
            }
            if (_loc_38 > 0)
            {
            }
            if (param3)
            {
                if (param3.length > _loc_38)
                {
                    _fullValue = param3;
                    param3 = param3.substr(0, _loc_38) + "...";
                }
            }
            var _loc_40:* = param1.visibleAxisX;
            var _loc_41:* = param1.visibleAxisY;
            var _loc_42:* = param1.visibleAxisHeight;
            var _loc_43:* = param1.visibleAxisWidth;
            if (param7)
            {
                _loc_22 = true;
                if (!isNaN(param7.tickLength))
                {
                    _loc_15 = param7.tickLength;
                }
                if (!isNaN(param7.lineColor))
                {
                    _loc_18 = param7.lineColor;
                }
                if (!isNaN(param7.lineAlpha))
                {
                    _loc_16 = param7.lineAlpha;
                }
                if (!isNaN(param7.dashLength))
                {
                    _loc_19 = param7.dashLength;
                }
                if (!isNaN(param7.labelRotation))
                {
                    _loc_23 = param7.labelRotation;
                }
                if (!isNaN(param7.lineThickness))
                {
                    _loc_17 = param7.lineThickness;
                }
                _loc_27 = param7.inside;
            }
            else if (!param3)
            {
                _loc_16 = _loc_16 / 3;
                _loc_15 = _loc_15 / 2;
            }
            if (param5)
            {
                _loc_11.align = "center";
            }
            if (param1.valueClickHandler != null)
            {
                _loc_10.mouseEnabled = true;
                _loc_10.doubleClickEnabled = true;
                _loc_10.addEventListener(MouseEvent.CLICK, param1.valueClickHandler);
                _loc_10.addEventListener(MouseEvent.MOUSE_OVER, valueMouseOverHandler);
                _loc_10.addEventListener(MouseEvent.MOUSE_OUT, valueMouseOutHandler);
                _loc_11.underline = true;
            }
            _loc_10.defaultTextFormat = _loc_11;
            _loc_10.text = param3;
            _loc_10.selectable = false;
            _loc_10.width = 0;
            _loc_10.setTextFormat(_loc_11);
            _loc_10.antiAliasType = _loc_11.antiAliasType;
            _loc_10.gridFitType = _loc_11.gridFitType;
            _loc_10.sharpness = _loc_11.sharpness;
            _loc_10.thickness = _loc_11.thickness;
            if (param1.systemManager)
            {
            }
            var _loc_44:* = param1.systemManager.isFontFaceEmbedded(_loc_11);
            _loc_10.embedFonts = _loc_44;
            _originalColor = Number(_loc_11.color);
            if (_loc_22)
            {
                _loc_33.addChild(DisplayObject(_loc_10));
            }
            var _loc_45:* = _loc_23 * Math.PI / 180;
            if (_loc_34 == "horizontal")
            {
                _loc_10.x = param2;
                if (param4 == false)
                {
                    if (!_loc_37)
                    {
                        if (param5)
                        {
                            _loc_10.width = param5;
                        }
                        else
                        {
                            _loc_10.autoSize = "left";
                        }
                        if (_loc_35 == "bottom")
                        {
                            if (_loc_27)
                            {
                                _loc_10.y = _loc_10.y + _loc_15;
                            }
                            else
                            {
                                _loc_10.y = _loc_10.y - _loc_15;
                            }
                        }
                        else if (_loc_27)
                        {
                            _loc_10.y = _loc_10.y - _loc_15;
                        }
                        else
                        {
                            _loc_10.y = _loc_10.y + _loc_15;
                        }
                        _loc_10.x = _loc_10.x + 3;
                        if (param5)
                        {
                            if (_loc_10.x + (param5 + _loc_10.textWidth) / 2 <= _loc_40 + _loc_43)
                            {
                            }
                            if (_loc_10.x + (param5 - _loc_10.textWidth) / 2 < _loc_40)
                            {
                                _loc_10.visible = false;
                            }
                        }
                        else
                        {
                            if (_loc_10.x + _loc_10.textWidth <= _loc_40 + _loc_43)
                            {
                            }
                            if (_loc_10.x < _loc_40)
                            {
                                _loc_10.visible = false;
                            }
                        }
                    }
                }
                else
                {
                    if (_loc_51)
                    {
                        _loc_10.width = param5;
                        _loc_10.x = _loc_10.x - param5 / 2;
                        Utils.truncateText(_loc_10, _loc_11, _loc_44);
                        if (_loc_10.text != param3)
                        {
                            _fullValue = param3;
                        }
                    }
                    else
                    {
                        _loc_10.autoSize = "center";
                    }
                    if (param2 <= _loc_40 + _loc_43 + 1)
                    {
                    }
                    if (param2 < _loc_40)
                    {
                        _loc_10.visible = false;
                    }
                }
                _loc_10.width = _loc_10.width + 3;
                if (param2 >= _loc_40)
                {
                }
                if (param2 <= _loc_40 + _loc_43 + 1)
                {
                    _loc_47 = new Line([param2 + param8, param2 + param8], [0, _loc_15], _loc_13, _loc_14, _loc_17);
                    if (param2 + param8 > _loc_43)
                    {
                        _loc_47.visible = false;
                    }
                    _loc_46 = new Line([param2, param2 + _loc_28, param2 + _loc_28], [_loc_42, _loc_42 + _loc_29, _loc_29], _loc_18, _loc_16, _loc_17, _loc_19);
                    _loc_46.y = _loc_41;
                    _loc_32.addChild(_loc_47);
                    _loc_30.addChild(_loc_46);
                }
                if (_loc_26 == 1)
                {
                }
                if (_loc_21 > 0)
                {
                }
                if (!param7)
                {
                    _loc_48 = param2 - _loc_36;
                    if (!isNaN(_loc_48))
                    {
                        _loc_50 = new Rect(_loc_48, param1.height, [_loc_20], [_loc_21]);
                        _loc_50.x = param2 - _loc_48;
                        _loc_31.addChild(_loc_50);
                    }
                }
                if (!isNaN(param9))
                {
                }
                if (param9 < _loc_10.width)
                {
                    _loc_10.width = param9;
                    _loc_10.wordWrap = true;
                    _loc_10.x = param2 - param9 / 2;
                    _width = _loc_10.textHeight;
                }
                if (_loc_10)
                {
                    if (_loc_35 == "bottom")
                    {
                        if (_loc_27)
                        {
                            _loc_10.y = _loc_10.y - (_loc_15 + _loc_39 + _vCompensation + _vCompensation + _loc_12 / 2);
                            if (_loc_23 > 0)
                            {
                                _loc_10.rotation = -_loc_23;
                                if (!param4)
                                {
                                    if (param5)
                                    {
                                        _loc_10.width = _loc_10.textWidth + 4;
                                        _loc_10.x = _loc_10.x + param5 / 2;
                                    }
                                }
                                _loc_10.x = _loc_10.x + (_loc_10.textWidth / 2 * Math.cos(_loc_45) - 2 - _loc_10.textHeight / 2 * Math.sin(_loc_45));
                                _loc_10.y = _loc_10.y - (_loc_10.textWidth / 2 * Math.sin(_loc_45) - (5 + _loc_10.textHeight / 2) * Math.sin(_loc_45));
                            }
                        }
                        else
                        {
                            _loc_10.y = _loc_10.y + (_loc_15 + _loc_12 / 2 + _vCompensation);
                            _width = _loc_10.y + _loc_10.textHeight;
                            if (_loc_23 > 0)
                            {
                                _loc_10.rotation = -_loc_23;
                                if (!param4)
                                {
                                    if (param5)
                                    {
                                        _loc_10.width = _loc_10.textWidth + 4;
                                        _loc_10.x = _loc_10.x + param5 / 2;
                                    }
                                    _loc_10.y = _loc_10.textWidth;
                                }
                                _loc_10.x = _loc_10.x - (_loc_10.textWidth / 2 * Math.cos(_loc_45) + 2 + _loc_10.textHeight / 2 * Math.sin(_loc_45));
                                _loc_10.y = _loc_10.y + (_loc_10.textWidth / 2 * Math.sin(_loc_45) + 2 - _loc_10.textHeight / 2 * Math.cos(_loc_45));
                                _width = _loc_10.y + _loc_10.textHeight / 2 * Math.sin(_loc_45);
                            }
                            if (param7)
                            {
                            }
                            if (!isNaN(param5))
                            {
                                _loc_10.y = _loc_15 - _loc_10.textHeight;
                            }
                        }
                    }
                    else if (_loc_27)
                    {
                        _loc_10.y = _loc_10.y + (_loc_15 + _vCompensation + _loc_12 / 2);
                        if (_loc_23 > 0)
                        {
                            _loc_10.rotation = -_loc_23;
                            _loc_10.x = _loc_10.x - (_loc_10.textWidth / 2 * Math.cos(_loc_45) + 2 + _loc_10.textHeight / 2 * Math.sin(_loc_45));
                            _loc_10.y = _loc_10.y + (_loc_10.textWidth / 2 * Math.sin(_loc_45) - (5 - _loc_10.textHeight / 2) * Math.sin(_loc_45));
                        }
                    }
                    else
                    {
                        _loc_10.y = _loc_10.y - (_loc_15 + _loc_39 + _vCompensation + _loc_12 / 2 + _vCompensation);
                        _width = Math.abs(_loc_10.y);
                        if (_loc_23 > 0)
                        {
                            _loc_10.rotation = -_loc_23;
                            _loc_10.x = _loc_10.x + (_loc_10.textWidth / 2 * Math.cos(_loc_45) - 2 - _loc_10.textHeight / 2 * Math.sin(_loc_45));
                            _loc_10.y = _loc_10.y - (_loc_10.textWidth / 2 * Math.sin(_loc_45) - (5 + _loc_10.textHeight / 2) * Math.sin(_loc_45));
                            _width = Math.abs(_loc_10.y) + _loc_10.textWidth * Math.sin(_loc_45) - 5;
                        }
                    }
                }
                if (_loc_47)
                {
                    if (_loc_35 == "bottom")
                    {
                        if (_loc_27)
                        {
                            _loc_47.y = _loc_47.y - (_loc_15 + _loc_12 / 2);
                        }
                        else
                        {
                            _loc_47.y = _loc_47.y + _loc_12 / 2;
                        }
                    }
                    else if (_loc_27)
                    {
                        _loc_47.y = _loc_47.y + _loc_12 / 2;
                    }
                    else
                    {
                        _loc_47.y = _loc_47.y - (_loc_15 + _loc_12 / 2);
                    }
                }
                if (param6)
                {
                    _loc_10.x = _loc_10.x + param6;
                }
            }
            else
            {
                _loc_10.autoSize = "right";
                if (_loc_27 == true)
                {
                }
                if (_loc_35 != "left")
                {
                    if (_loc_27 == false)
                    {
                    }
                }
                if (_loc_35 == "right")
                {
                    _loc_10.autoSize = "left";
                }
                if (param9)
                {
                    _loc_10.width = param9;
                    _loc_10.wordWrap = true;
                    _loc_10.height = _loc_10.textHeight + 5;
                    _loc_10.multiline = true;
                    _loc_10.autoSize = "none";
                    if (_loc_35 == "right")
                    {
                        _loc_11.align = "left";
                    }
                    else
                    {
                        _loc_10.x = -param9;
                        _loc_11.align = "right";
                    }
                    _loc_10.setTextFormat(_loc_11);
                }
                _loc_10.y = param2 - _loc_10.height / 2;
                if (param2 >= _loc_41)
                {
                }
                if (param2 <= _loc_42 + _loc_41 + 1)
                {
                    _loc_47 = new Line([0, _loc_15], [param2 + param8, param2 + param8], _loc_13, _loc_14, _loc_17);
                    if (param2 + param8 > (_loc_42 + 1))
                    {
                        _loc_47.visible = false;
                    }
                    _loc_46 = new Line([0, _loc_28, _loc_43 + _loc_28], [param2, param2 + _loc_29, param2 + _loc_29], _loc_18, _loc_16, _loc_17, _loc_19);
                    _loc_46.x = _loc_40;
                    _loc_32.addChild(_loc_47);
                    _loc_30.addChild(_loc_46);
                }
                if (_loc_26 == 1)
                {
                }
                if (_loc_21 > 0)
                {
                }
                if (!param7)
                {
                    _loc_49 = param2 - _loc_36;
                    _loc_50 = new Rect(param1.width, _loc_49, [_loc_20], [_loc_21]);
                    _loc_50.y = param2 - _loc_49;
                    _loc_31.addChild(_loc_50);
                }
                if (_loc_10)
                {
                    _loc_53 = _loc_15;
                    if (param5 > 0)
                    {
                        _loc_53 = 0;
                    }
                    if (_loc_35 == "right")
                    {
                        if (_loc_27 == true)
                        {
                            _loc_10.x = _loc_10.x - (_loc_53 + _hCompensation + _loc_12 / 2);
                            _loc_10.y = _loc_10.y - (_loc_39 / 2 + 3);
                        }
                        else
                        {
                            _loc_10.x = _loc_10.x + (_loc_53 + _hCompensation + _loc_12 / 2);
                            _width = _loc_10.x + _loc_10.width;
                        }
                    }
                    else if (_loc_27 == true)
                    {
                        _loc_10.x = _loc_10.x + (_loc_53 + _hCompensation + _loc_12 / 2);
                        _loc_10.y = _loc_10.y - (_loc_39 / 2 + 3);
                    }
                    else
                    {
                        _loc_10.x = _loc_10.x + (-_loc_53 - _loc_12 / 2 - _hCompensation);
                        if (_loc_23 > 0)
                        {
                            _loc_10.rotation = -_loc_23;
                            _loc_10.x = _loc_10.x + (_loc_10.textWidth / 2 * Math.cos(_loc_45) - 10 - _loc_10.textHeight / 2 * Math.sin(_loc_45));
                            _loc_10.y = _loc_10.y - (_loc_10.textWidth / 2 * Math.sin(_loc_45) - _loc_10.textHeight / 2 * Math.sin(_loc_45));
                        }
                        if (param7)
                        {
                        }
                        if (!isNaN(param5))
                        {
                            _loc_10.x = -_loc_15 - 5;
                        }
                        _width = Math.abs(_loc_10.x);
                    }
                    if (_loc_47)
                    {
                        if (_loc_35 == "right")
                        {
                            if (_loc_27 == true)
                            {
                                _loc_47.x = _loc_47.x - (_loc_15 + _loc_12 / 2);
                            }
                            else
                            {
                                _loc_47.x = _loc_47.x + _loc_12 / 2;
                            }
                        }
                        else if (_loc_27 == true)
                        {
                            _loc_47.x = _loc_47.x + _loc_12 / 2;
                        }
                        else
                        {
                            _loc_47.x = _loc_47.x - (_loc_15 + _loc_12 / 2);
                        }
                    }
                }
                if (param5)
                {
                    _loc_10.y = _loc_10.y + param5 / 2;
                }
                if (param6)
                {
                    _loc_10.y = _loc_10.y + param6;
                }
                _loc_52 = 0;
                if (_loc_23 == 90)
                {
                    _loc_52 = 5;
                }
                if (_loc_10.y >= _loc_41 - _loc_10.height / 2 + _loc_52)
                {
                }
                if (_loc_10.y > _loc_42 + _loc_41 - _loc_10.height / 2 + _loc_52 + 2)
                {
                    _loc_10.visible = false;
                }
            }
            if (!param1.visible)
            {
                if (_loc_47)
                {
                    _loc_47.visible = false;
                }
                if (_loc_10)
                {
                    _loc_10.visible = false;
                }
            }
            if (_loc_25 > 0)
            {
                if (_loc_10)
                {
                    if (_loc_10.text)
                    {
                    }
                    if (_loc_10.text != " ")
                    {
                        _loc_54 = new Rect(_loc_10.textWidth + 12, _loc_10.textHeight + 6, [_loc_24], [_loc_25]);
                        _loc_54.x = _loc_10.x - 4;
                        _loc_54.y = _loc_10.y - 3;
                        _loc_33.addChildAt(_loc_54, 0);
                    }
                }
            }
            if (_fullValue)
            {
            }
            if (_loc_10)
            {
                _loc_10.mouseEnabled = true;
                _loc_33.mouseChildren = true;
                _loc_33.mouseEnabled = true;
                _loc_10.addEventListener(MouseEvent.MOUSE_OVER, showTooltip);
                _loc_10.addEventListener(MouseEvent.MOUSE_OUT, hideTooltip);
            }
            if (_loc_26 == 0)
            {
                param1.counter = 1;
            }
            else
            {
                param1.counter = 0;
            }
            param1.previousCoord = param2;
            _valueTF = _loc_10;
            _grid = _loc_46;
            _tick = _loc_47;
            return;
        }// end function

        public function hide() : void
        {
            if (_valueTF)
            {
                _valueTF.visible = false;
            }
            if (_grid)
            {
                _grid.visible = false;
            }
            if (_tick)
            {
                _tick.visible = false;
            }
            return;
        }// end function

        private function valueMouseOverHandler(event:MouseEvent) : void
        {
            var _loc_2:* = IUITextField(event.currentTarget);
            var _loc_3:* = _loc_2.getTextFormat();
            _loc_3.color = _axis.getStyle("valueRollOverColor");
            _loc_2.setTextFormat(_loc_3);
            return;
        }// end function

        public function get width() : Number
        {
            return _width;
        }// end function

        public function get textWidth() : Number
        {
            return _valueTF.textWidth;
        }// end function

        private function showTooltip(event:MouseEvent) : void
        {
            var _loc_2:AmChart = null;
            var _loc_3:AmBalloon = null;
            if (_fullValue)
            {
                _loc_2 = _axis["chart"];
                if (_loc_2)
                {
                    _loc_3 = _loc_2.balloon;
                    _loc_3.changeColor(_loc_3.getStyle("fillColor"));
                    _loc_3.follow = true;
                    _loc_3.show(_fullValue);
                }
            }
            return;
        }// end function

        private function hideTooltip(event:MouseEvent) : void
        {
            var _loc_2:AmChart = null;
            if (_fullValue)
            {
                _loc_2 = _axis["chart"];
                if (_loc_2)
                {
                    _loc_2.balloon.hide();
                }
            }
            return;
        }// end function

        private function valueMouseOutHandler(event:MouseEvent) : void
        {
            var _loc_2:* = IUITextField(event.currentTarget);
            var _loc_3:* = _loc_2.getTextFormat();
            _loc_3.color = _originalColor;
            _loc_2.setTextFormat(_loc_3);
            return;
        }// end function

    }
}
